// 角色管理相关的TS类型

// 接口返回值固定字段
export interface ResponseData {
  code: number;
  message: string;
  ok: boolean;
}

// 角色数据
export interface RoleData {
  id?: number
  createTime?: string
  updateTime?: string
  roleName: string
}

// 角色列表
export type RoleList = RoleData[]

// 角色列表分页查询接口返回值数据TS类型
export interface AllRoleResponseData extends ResponseData {
  data: {
    records: RoleList
    total: number
  }
}

// 权限数据的ts类型
export interface PermissionData {
  id: number
  createTime: string
  updateTime: string
  pid: number
  name: string
  code: string
  toCode: string
  type: number
  level: number
  children?: PermissionList
  select: boolean
}

export type PermissionList = PermissionData[]

// 根据id获取权限列表的接口的TS类型
export interface AllPermissionResponseData extends ResponseData {
  data: PermissionList
}
